[INFO] cloning repository https://github.com/Maix0/pixel-fps
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Maix0/pixel-fps" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMaix0%2Fpixel-fps", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMaix0%2Fpixel-fps'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 46b0dffde6187f427892acb168968767fcd79ec2
[INFO] checking Maix0/pixel-fps against master#af3c6e733a40e671550e0f0f5aeecaa13772ba56 for pr-74989
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMaix0%2Fpixel-fps" "/workspace/builds/worker-11/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-11/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Maix0/pixel-fps on toolchain af3c6e733a40e671550e0f0f5aeecaa13772ba56
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Maix0/pixel-fps
[INFO] removed path dependency pixel_engine from git repo https://github.com/Maix0/pixel-fps
[INFO] finished tweaking git repo https://github.com/Maix0/pixel-fps
[INFO] tweaked toml for git repo https://github.com/Maix0/pixel-fps written to /workspace/builds/worker-11/source/Cargo.toml
[INFO] crate git repo https://github.com/Maix0/pixel-fps already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: dependency (pixel_engine) specified without providing a local path, Git repository, or version to use. This will be considered an error in future versions
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr] error: the lock file /workspace/builds/worker-11/source/Cargo.lock needs to be updated but --locked was passed to prevent this
[INFO] [stderr] If you want to try to generate the lock file without accessing the network, use the --offline flag.
[INFO] the lockfile is outdated, regenerating it
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: dependency (pixel_engine) specified without providing a local path, Git repository, or version to use. This will be considered an error in future versions
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 27b1ffae0d8744c25fe4b1c7321349c68cb62a7d3e886d44f9cc22018dc316a1
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "27b1ffae0d8744c25fe4b1c7321349c68cb62a7d3e886d44f9cc22018dc316a1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "27b1ffae0d8744c25fe4b1c7321349c68cb62a7d3e886d44f9cc22018dc316a1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "27b1ffae0d8744c25fe4b1c7321349c68cb62a7d3e886d44f9cc22018dc316a1", kill_on_drop: false }`
[INFO] [stdout] 27b1ffae0d8744c25fe4b1c7321349c68cb62a7d3e886d44f9cc22018dc316a1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 723fbf51b0c004394ae74e6a1c439e2dc2c111e8cef20ab78d8b2efe6bb51355
[INFO] running `Command { std: "docker" "start" "-a" "723fbf51b0c004394ae74e6a1c439e2dc2c111e8cef20ab78d8b2efe6bb51355", kill_on_drop: false }`
[INFO] [stderr] warning: dependency (pixel_engine) specified without providing a local path, Git repository, or version to use. This will be considered an error in future versions
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]    Compiling libc v0.2.77
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling byteorder v1.3.4
[INFO] [stderr]    Compiling proc-macro2 v1.0.21
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]    Compiling unicode-xid v0.2.1
[INFO] [stderr]    Compiling log v0.4.11
[INFO] [stderr]     Checking slab v0.4.2
[INFO] [stderr]     Checking scopeguard v1.1.0
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]    Compiling pkg-config v0.3.18
[INFO] [stderr]    Compiling xml-rs v0.8.3
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking smallvec v1.4.2
[INFO] [stderr]     Checking adler32 v1.2.0
[INFO] [stderr]    Compiling crc32fast v1.2.0
[INFO] [stderr]     Checking downcast-rs v1.2.0
[INFO] [stderr]     Checking either v1.6.0
[INFO] [stderr]     Checking futures-core v0.3.5
[INFO] [stderr]     Checking xdg v2.2.0
[INFO] [stderr]    Compiling serde_derive v1.0.116
[INFO] [stderr]     Checking pin-utils v0.1.0
[INFO] [stderr]    Compiling serde v1.0.116
[INFO] [stderr]     Checking percent-encoding v2.1.0
[INFO] [stderr]     Checking instant v0.1.6
[INFO] [stderr]    Compiling num-traits v0.2.12
[INFO] [stderr]    Compiling crossbeam-utils v0.7.2
[INFO] [stderr]    Compiling memoffset v0.5.5
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.2
[INFO] [stderr]    Compiling num-integer v0.1.43
[INFO] [stderr]    Compiling rayon v1.4.0
[INFO] [stderr]    Compiling num-rational v0.3.0
[INFO] [stderr]    Compiling num-iter v0.1.41
[INFO] [stderr]     Checking hibitset v0.6.3
[INFO] [stderr]     Checking lock_api v0.3.4
[INFO] [stderr]     Checking miniz_oxide v0.3.7
[INFO] [stderr]     Checking gif v0.10.3
[INFO] [stderr]     Checking futures-channel v0.3.5
[INFO] [stderr]     Checking libloading v0.6.3
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]     Checking dlib v0.4.2
[INFO] [stderr]     Checking ash v0.31.0
[INFO] [stderr]     Checking wayland-sys v0.23.6
[INFO] [stderr]    Compiling x11 v2.18.2
[INFO] [stderr]    Compiling x11-dl v2.18.5
[INFO] [stderr]     Checking crossbeam-channel v0.4.4
[INFO] [stderr]     Checking fxhash v0.2.1
[INFO] [stderr]     Checking stb_truetype v0.3.1
[INFO] [stderr]     Checking deflate v0.8.6
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]     Checking tiff v0.5.0
[INFO] [stderr]    Compiling quote v1.0.7
[INFO] [stderr]    Compiling wayland-scanner v0.23.6
[INFO] [stderr]     Checking crossbeam-deque v0.7.3
[INFO] [stderr]     Checking raw-window-handle v0.3.3
[INFO] [stderr]     Checking net2 v0.2.35
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking nix v0.14.1
[INFO] [stderr]     Checking parking_lot_core v0.7.2
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking memmap v0.7.0
[INFO] [stderr]     Checking gfx-hal v0.5.3
[INFO] [stderr]    Compiling syn v1.0.40
[INFO] [stderr]     Checking rayon-core v1.8.0
[INFO] [stderr]     Checking png v0.16.7
[INFO] [stderr]     Checking parking_lot v0.10.2
[INFO] [stderr]     Checking approx v0.3.2
[INFO] [stderr]     Checking ordered-float v1.1.0
[INFO] [stderr]     Checking line_drawing v0.7.0
[INFO] [stderr]     Checking mio v0.6.22
[INFO] [stderr]     Checking rusttype v0.8.3
[INFO] [stderr]     Checking rusttype v0.7.9
[INFO] [stderr]     Checking mio-extras v2.0.6
[INFO] [stderr]     Checking andrew v0.2.1
[INFO] [stderr]    Compiling wayland-client v0.23.6
[INFO] [stderr]    Compiling wayland-protocols v0.23.6
[INFO] [stderr]     Checking calloop v0.4.4
[INFO] [stderr]     Checking wayland-commons v0.23.6
[INFO] [stderr]     Checking jpeg-decoder v0.1.20
[INFO] [stderr]     Checking image v0.23.9
[INFO] [stderr]     Checking gfx-memory v0.1.3
[INFO] [stderr]     Checking gfx-descriptor v0.1.0
[INFO] [stderr]     Checking gfx-backend-empty v0.5.2
[INFO] [stderr]    Compiling synstructure v0.12.4
[INFO] [stderr]    Compiling peek-poke-derive v0.2.1
[INFO] [stderr]    Compiling pin-project-internal v0.4.23
[INFO] [stderr]    Compiling futures-macro v0.3.5
[INFO] [stderr]     Checking pixel_engine_draw v0.2.0
[INFO] [stderr]     Checking peek-poke v0.2.0
[INFO] [stderr]     Checking wgpu-types v0.5.1
[INFO] [stderr]     Checking smithay-client-toolkit v0.6.6
[INFO] [stderr]     Checking gfx-backend-vulkan v0.5.11
[INFO] [stderr]     Checking pin-project v0.4.23
[INFO] [stderr]     Checking futures-util v0.3.5
[INFO] [stderr]     Checking winit v0.22.2
[INFO] [stderr]     Checking wgpu-core v0.5.6
[INFO] [stderr]     Checking wgpu-native v0.5.1
[INFO] [stderr]     Checking wgpu v0.5.2
[INFO] [stderr]     Checking pixel_engine_backend v0.2.1
[INFO] [stderr]     Checking futures-executor v0.3.5
[INFO] [stderr]     Checking futures v0.3.5
[INFO] [stderr]     Checking pixel_engine v0.3.5
[INFO] [stderr]     Checking ron v0.6.2
[INFO] [stderr]     Checking fps-pixel v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0433]: failed to resolve: could not find `sdl2` in `engine`
[INFO] [stdout]  --> src/main.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use engine::sdl2::keyboard::Keycode;
[INFO] [stdout]   |             ^^^^ could not find `sdl2` in `engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Keycode`
[INFO] [stdout]   --> src/main.rs:45:25
[INFO] [stdout]    |
[INFO] [stdout] 45 |         if game.is_held(Keycode::Q) {
[INFO] [stdout]    |                         ^^^^^^^ use of undeclared type or module `Keycode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Keycode`
[INFO] [stdout]   --> src/main.rs:49:25
[INFO] [stdout]    |
[INFO] [stdout] 49 |         if game.is_held(Keycode::D) {
[INFO] [stdout]    |                         ^^^^^^^ use of undeclared type or module `Keycode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Keycode`
[INFO] [stdout]   --> src/main.rs:53:25
[INFO] [stdout]    |
[INFO] [stdout] 53 |         if game.is_held(Keycode::Z) {
[INFO] [stdout]    |                         ^^^^^^^ use of undeclared type or module `Keycode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Keycode`
[INFO] [stdout]   --> src/main.rs:62:25
[INFO] [stdout]    |
[INFO] [stdout] 62 |         if game.is_held(Keycode::S) {
[INFO] [stdout]    |                         ^^^^^^^ use of undeclared type or module `Keycode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Keycode`
[INFO] [stdout]   --> src/main.rs:71:25
[INFO] [stdout]    |
[INFO] [stdout] 71 |         if game.is_held(Keycode::A) {
[INFO] [stdout]    |                         ^^^^^^^ use of undeclared type or module `Keycode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Keycode`
[INFO] [stdout]   --> src/main.rs:80:25
[INFO] [stdout]    |
[INFO] [stdout] 80 |         if game.is_held(Keycode::E) {
[INFO] [stdout]    |                         ^^^^^^^ use of undeclared type or module `Keycode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Keycode`
[INFO] [stdout]   --> src/main.rs:89:28
[INFO] [stdout]    |
[INFO] [stdout] 89 |         if game.is_pressed(Keycode::Escape) {
[INFO] [stdout]    |                            ^^^^^^^ use of undeclared type or module `Keycode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `sdl2` in `engine`
[INFO] [stdout]  --> src/main.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use engine::sdl2::keyboard::Keycode;
[INFO] [stdout]   |             ^^^^ could not find `sdl2` in `engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Keycode`
[INFO] [stdout]   --> src/main.rs:45:25
[INFO] [stdout]    |
[INFO] [stdout] 45 |         if game.is_held(Keycode::Q) {
[INFO] [stdout]    |                         ^^^^^^^ use of undeclared type or module `Keycode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Keycode`
[INFO] [stdout]   --> src/main.rs:49:25
[INFO] [stdout]    |
[INFO] [stdout] 49 |         if game.is_held(Keycode::D) {
[INFO] [stdout]    |                         ^^^^^^^ use of undeclared type or module `Keycode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Keycode`
[INFO] [stdout]   --> src/main.rs:53:25
[INFO] [stdout]    |
[INFO] [stdout] 53 |         if game.is_held(Keycode::Z) {
[INFO] [stdout]    |                         ^^^^^^^ use of undeclared type or module `Keycode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Keycode`
[INFO] [stdout]   --> src/main.rs:62:25
[INFO] [stdout]    |
[INFO] [stdout] 62 |         if game.is_held(Keycode::S) {
[INFO] [stdout]    |                         ^^^^^^^ use of undeclared type or module `Keycode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Keycode`
[INFO] [stdout]   --> src/main.rs:71:25
[INFO] [stdout]    |
[INFO] [stdout] 71 |         if game.is_held(Keycode::A) {
[INFO] [stdout]    |                         ^^^^^^^ use of undeclared type or module `Keycode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Keycode`
[INFO] [stdout]   --> src/main.rs:80:25
[INFO] [stdout]    |
[INFO] [stdout] 80 |         if game.is_held(Keycode::E) {
[INFO] [stdout]    |                         ^^^^^^^ use of undeclared type or module `Keycode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Keycode`
[INFO] [stdout]   --> src/main.rs:89:28
[INFO] [stdout]    |
[INFO] [stdout] 89 |         if game.is_pressed(Keycode::Escape) {
[INFO] [stdout]    |                            ^^^^^^^ use of undeclared type or module `Keycode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `screen` of struct `Engine` is private
[INFO] [stdout]   --> src/main.rs:40:14
[INFO] [stdout]    |
[INFO] [stdout] 40 |         game.screen.clear(engine::Color::BLACK);
[INFO] [stdout]    |              ^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `clear` found for struct `Sprite` in the current scope
[INFO] [stdout]   --> src/main.rs:40:21
[INFO] [stdout]    |
[INFO] [stdout] 40 |         game.screen.clear(engine::Color::BLACK);
[INFO] [stdout]    |                     ^^^^^ method not found in `Sprite`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `new_frame` found for mutable reference `&mut Engine` in the current scope
[INFO] [stdout]   --> src/main.rs:41:18
[INFO] [stdout]    |
[INFO] [stdout] 41 |         if !game.new_frame()? {
[INFO] [stdout]    |                  ^^^^^^^^^ method not found in `&mut Engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_held` found for mutable reference `&mut Engine` in the current scope
[INFO] [stdout]   --> src/main.rs:45:17
[INFO] [stdout]    |
[INFO] [stdout] 45 |         if game.is_held(Keycode::Q) {
[INFO] [stdout]    |                 ^^^^^^^ method not found in `&mut Engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_held` found for mutable reference `&mut Engine` in the current scope
[INFO] [stdout]   --> src/main.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 |         if game.is_held(Keycode::D) {
[INFO] [stdout]    |                 ^^^^^^^ method not found in `&mut Engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_held` found for mutable reference `&mut Engine` in the current scope
[INFO] [stdout]   --> src/main.rs:53:17
[INFO] [stdout]    |
[INFO] [stdout] 53 |         if game.is_held(Keycode::Z) {
[INFO] [stdout]    |                 ^^^^^^^ method not found in `&mut Engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_held` found for mutable reference `&mut Engine` in the current scope
[INFO] [stdout]   --> src/main.rs:62:17
[INFO] [stdout]    |
[INFO] [stdout] 62 |         if game.is_held(Keycode::S) {
[INFO] [stdout]    |                 ^^^^^^^ method not found in `&mut Engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_held` found for mutable reference `&mut Engine` in the current scope
[INFO] [stdout]   --> src/main.rs:71:17
[INFO] [stdout]    |
[INFO] [stdout] 71 |         if game.is_held(Keycode::A) {
[INFO] [stdout]    |                 ^^^^^^^ method not found in `&mut Engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_held` found for mutable reference `&mut Engine` in the current scope
[INFO] [stdout]   --> src/main.rs:80:17
[INFO] [stdout]    |
[INFO] [stdout] 80 |         if game.is_held(Keycode::E) {
[INFO] [stdout]    |                 ^^^^^^^ method not found in `&mut Engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_pressed` found for mutable reference `&mut Engine` in the current scope
[INFO] [stdout]   --> src/main.rs:89:17
[INFO] [stdout]    |
[INFO] [stdout] 89 |         if game.is_pressed(Keycode::Escape) {
[INFO] [stdout]    |                 ^^^^^^^^^^ help: there is an associated function with a similar name: `get_pressed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `screen` of struct `Engine` is private
[INFO] [stdout]    --> src/main.rs:152:26
[INFO] [stdout]     |
[INFO] [stdout] 152 |                     game.screen
[INFO] [stdout]     |                          ^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `draw` found for struct `Sprite` in the current scope
[INFO] [stdout]    --> src/main.rs:153:26
[INFO] [stdout]     |
[INFO] [stdout] 153 |                         .draw(x as i32, y as i32, engine::Color::BLACK)
[INFO] [stdout]     |                          ^^^^ method not found in `Sprite`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `screen` of struct `Engine` is private
[INFO] [stdout]   --> src/main.rs:40:14
[INFO] [stdout]    |
[INFO] [stdout] 40 |         game.screen.clear(engine::Color::BLACK);
[INFO] [stdout]    |              ^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `screen` of struct `Engine` is private
[INFO] [stdout]    --> src/main.rs:166:26
[INFO] [stdout]     |
[INFO] [stdout] 166 |                     game.screen
[INFO] [stdout]     |                          ^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `draw` found for struct `Sprite` in the current scope
[INFO] [stdout]    --> src/main.rs:167:26
[INFO] [stdout]     |
[INFO] [stdout] 167 |                         .draw(x as i32, y as i32, color)
[INFO] [stdout]     |                          ^^^^ method not found in `Sprite`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `screen` of struct `Engine` is private
[INFO] [stdout]    --> src/main.rs:177:26
[INFO] [stdout]     |
[INFO] [stdout] 177 |                     game.screen
[INFO] [stdout]     |                          ^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `clear` found for struct `Sprite` in the current scope
[INFO] [stdout]   --> src/main.rs:40:21
[INFO] [stdout]    |
[INFO] [stdout] 40 |         game.screen.clear(engine::Color::BLACK);
[INFO] [stdout]    |                     ^^^^^ method not found in `Sprite`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `new_frame` found for mutable reference `&mut Engine` in the current scope
[INFO] [stdout]   --> src/main.rs:41:18
[INFO] [stdout]    |
[INFO] [stdout] 41 |         if !game.new_frame()? {
[INFO] [stdout]    |                  ^^^^^^^^^ method not found in `&mut Engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_held` found for mutable reference `&mut Engine` in the current scope
[INFO] [stdout]   --> src/main.rs:45:17
[INFO] [stdout]    |
[INFO] [stdout] 45 |         if game.is_held(Keycode::Q) {
[INFO] [stdout]    |                 ^^^^^^^ method not found in `&mut Engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `draw` found for struct `Sprite` in the current scope
[INFO] [stdout]    --> src/main.rs:178:26
[INFO] [stdout]     |
[INFO] [stdout] 178 |                         .draw(x as i32, y as i32, engine::Color::DARK_GREEN)
[INFO] [stdout]     |                          ^^^^ method not found in `Sprite`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `screen` of struct `Engine` is private
[INFO] [stdout]    --> src/main.rs:187:30
[INFO] [stdout]     |
[INFO] [stdout] 187 |                         game.screen.fill_rect(
[INFO] [stdout]     |                              ^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_held` found for mutable reference `&mut Engine` in the current scope
[INFO] [stdout]   --> src/main.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 |         if game.is_held(Keycode::D) {
[INFO] [stdout]    |                 ^^^^^^^ method not found in `&mut Engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_held` found for mutable reference `&mut Engine` in the current scope
[INFO] [stdout]   --> src/main.rs:53:17
[INFO] [stdout]    |
[INFO] [stdout] 53 |         if game.is_held(Keycode::Z) {
[INFO] [stdout]    |                 ^^^^^^^ method not found in `&mut Engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_held` found for mutable reference `&mut Engine` in the current scope
[INFO] [stdout]   --> src/main.rs:62:17
[INFO] [stdout]    |
[INFO] [stdout] 62 |         if game.is_held(Keycode::S) {
[INFO] [stdout]    |                 ^^^^^^^ method not found in `&mut Engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_held` found for mutable reference `&mut Engine` in the current scope
[INFO] [stdout]   --> src/main.rs:71:17
[INFO] [stdout]    |
[INFO] [stdout] 71 |         if game.is_held(Keycode::A) {
[INFO] [stdout]    |                 ^^^^^^^ method not found in `&mut Engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_held` found for mutable reference `&mut Engine` in the current scope
[INFO] [stdout]   --> src/main.rs:80:17
[INFO] [stdout]    |
[INFO] [stdout] 80 |         if game.is_held(Keycode::E) {
[INFO] [stdout]    |                 ^^^^^^^ method not found in `&mut Engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `fill_rect` found for struct `Sprite` in the current scope
[INFO] [stdout]    --> src/main.rs:187:37
[INFO] [stdout]     |
[INFO] [stdout] 187 |                         game.screen.fill_rect(
[INFO] [stdout]     |                                     ^^^^^^^^^ method not found in `Sprite`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_pressed` found for mutable reference `&mut Engine` in the current scope
[INFO] [stdout]   --> src/main.rs:89:17
[INFO] [stdout]    |
[INFO] [stdout] 89 |         if game.is_pressed(Keycode::Escape) {
[INFO] [stdout]    |                 ^^^^^^^^^^ help: there is an associated function with a similar name: `get_pressed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `screen` of struct `Engine` is private
[INFO] [stdout]    --> src/main.rs:196:30
[INFO] [stdout]     |
[INFO] [stdout] 196 |                         game.screen.fill_rect(
[INFO] [stdout]     |                              ^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `fill_rect` found for struct `Sprite` in the current scope
[INFO] [stdout]    --> src/main.rs:196:37
[INFO] [stdout]     |
[INFO] [stdout] 196 |                         game.screen.fill_rect(
[INFO] [stdout]     |                                     ^^^^^^^^^ method not found in `Sprite`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `screen` of struct `Engine` is private
[INFO] [stdout]    --> src/main.rs:205:22
[INFO] [stdout]     |
[INFO] [stdout] 205 |                 game.screen.fill_rect(
[INFO] [stdout]     |                      ^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `screen` of struct `Engine` is private
[INFO] [stdout]    --> src/main.rs:152:26
[INFO] [stdout]     |
[INFO] [stdout] 152 |                     game.screen
[INFO] [stdout]     |                          ^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `draw` found for struct `Sprite` in the current scope
[INFO] [stdout]    --> src/main.rs:153:26
[INFO] [stdout]     |
[INFO] [stdout] 153 |                         .draw(x as i32, y as i32, engine::Color::BLACK)
[INFO] [stdout]     |                          ^^^^ method not found in `Sprite`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `fill_rect` found for struct `Sprite` in the current scope
[INFO] [stdout]    --> src/main.rs:205:29
[INFO] [stdout]     |
[INFO] [stdout] 205 |                 game.screen.fill_rect(
[INFO] [stdout]     |                             ^^^^^^^^^ method not found in `Sprite`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `screen` of struct `Engine` is private
[INFO] [stdout]    --> src/main.rs:215:14
[INFO] [stdout]     |
[INFO] [stdout] 215 |         game.screen.update();
[INFO] [stdout]     |              ^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `screen` of struct `Engine` is private
[INFO] [stdout]    --> src/main.rs:166:26
[INFO] [stdout]     |
[INFO] [stdout] 166 |                     game.screen
[INFO] [stdout]     |                          ^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `update` found for struct `Sprite` in the current scope
[INFO] [stdout]    --> src/main.rs:215:21
[INFO] [stdout]     |
[INFO] [stdout] 215 |         game.screen.update();
[INFO] [stdout]     |                     ^^^^^^ method not found in `Sprite`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: wrong number of lifetime arguments: expected 0, found 1
[INFO] [stdout]    --> src/main.rs:223:34
[INFO] [stdout]     |
[INFO] [stdout] 223 |     let mut game: engine::Engine<'static> =
[INFO] [stdout]     |                                  ^^^^^^^ unexpected lifetime argument
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0624]: associated function `new` is private
[INFO] [stdout]    --> src/main.rs:224:25
[INFO] [stdout]     |
[INFO] [stdout] 224 |         engine::Engine::new("Pixel FPS", (120 * fac, 60 * fac, 10 / fac), &game_logic)
[INFO] [stdout]     |                         ^^^ private associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 3 arguments were supplied
[INFO] [stdout]    --> src/main.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 224 |         engine::Engine::new("Pixel FPS", (120 * fac, 60 * fac, 10 / fac), &game_logic)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^ -----------  -------------------------------  ----------- supplied 3 arguments
[INFO] [stdout]     |         |
[INFO] [stdout]     |         expected 2 arguments
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `draw` found for struct `Sprite` in the current scope
[INFO] [stdout]    --> src/main.rs:167:26
[INFO] [stdout]     |
[INFO] [stdout] 167 |                         .draw(x as i32, y as i32, color)
[INFO] [stdout]     |                          ^^^^ method not found in `Sprite`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `screen` of struct `Engine` is private
[INFO] [stdout]    --> src/main.rs:177:26
[INFO] [stdout]     |
[INFO] [stdout] 177 |                     game.screen
[INFO] [stdout]     |                          ^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `draw` found for struct `Sprite` in the current scope
[INFO] [stdout]    --> src/main.rs:178:26
[INFO] [stdout]     |
[INFO] [stdout] 178 |                         .draw(x as i32, y as i32, engine::Color::DARK_GREEN)
[INFO] [stdout]     |                          ^^^^ method not found in `Sprite`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `screen` of struct `Engine` is private
[INFO] [stdout]    --> src/main.rs:187:30
[INFO] [stdout]     |
[INFO] [stdout] 187 |                         game.screen.fill_rect(
[INFO] [stdout]     |                              ^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `fill_rect` found for struct `Sprite` in the current scope
[INFO] [stdout]    --> src/main.rs:187:37
[INFO] [stdout]     |
[INFO] [stdout] 187 |                         game.screen.fill_rect(
[INFO] [stdout]     |                                     ^^^^^^^^^ method not found in `Sprite`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `screen` of struct `Engine` is private
[INFO] [stdout]    --> src/main.rs:196:30
[INFO] [stdout]     |
[INFO] [stdout] 196 |                         game.screen.fill_rect(
[INFO] [stdout]     |                              ^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `map_err` found for struct `Engine` in the current scope
[INFO] [stdout]    --> src/main.rs:225:14
[INFO] [stdout]     |
[INFO] [stdout] 225 |             .map_err(|err| err.to_string())?;
[INFO] [stdout]     |              ^^^^^^^ method not found in `Engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `fill_rect` found for struct `Sprite` in the current scope
[INFO] [stdout]    --> src/main.rs:196:37
[INFO] [stdout]     |
[INFO] [stdout] 196 |                         game.screen.fill_rect(
[INFO] [stdout]     |                                     ^^^^^^^^^ method not found in `Sprite`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `screen` of struct `Engine` is private
[INFO] [stdout]    --> src/main.rs:205:22
[INFO] [stdout]     |
[INFO] [stdout] 205 |                 game.screen.fill_rect(
[INFO] [stdout]     |                      ^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `start` found for struct `Engine` in the current scope
[INFO] [stdout]    --> src/main.rs:226:10
[INFO] [stdout]     |
[INFO] [stdout] 226 |     game.start()?;
[INFO] [stdout]     |          ^^^^^ method not found in `Engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `fill_rect` found for struct `Sprite` in the current scope
[INFO] [stdout]    --> src/main.rs:205:29
[INFO] [stdout]     |
[INFO] [stdout] 205 |                 game.screen.fill_rect(
[INFO] [stdout]     |                             ^^^^^^^^^ method not found in `Sprite`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `screen` of struct `Engine` is private
[INFO] [stdout]    --> src/main.rs:215:14
[INFO] [stdout]     |
[INFO] [stdout] 215 |         game.screen.update();
[INFO] [stdout]     |              ^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `update` found for struct `Sprite` in the current scope
[INFO] [stdout]    --> src/main.rs:215:21
[INFO] [stdout]     |
[INFO] [stdout] 215 |         game.screen.update();
[INFO] [stdout]     |                     ^^^^^^ method not found in `Sprite`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: wrong number of lifetime arguments: expected 0, found 1
[INFO] [stdout]    --> src/main.rs:223:34
[INFO] [stdout]     |
[INFO] [stdout] 223 |     let mut game: engine::Engine<'static> =
[INFO] [stdout]     |                                  ^^^^^^^ unexpected lifetime argument
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0624]: associated function `new` is private
[INFO] [stdout]    --> src/main.rs:224:25
[INFO] [stdout]     |
[INFO] [stdout] 224 |         engine::Engine::new("Pixel FPS", (120 * fac, 60 * fac, 10 / fac), &game_logic)
[INFO] [stdout]     |                         ^^^ private associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 3 arguments were supplied
[INFO] [stdout]    --> src/main.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 224 |         engine::Engine::new("Pixel FPS", (120 * fac, 60 * fac, 10 / fac), &game_logic)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^ -----------  -------------------------------  ----------- supplied 3 arguments
[INFO] [stdout]     |         |
[INFO] [stdout]     |         expected 2 arguments
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `map_err` found for struct `Engine` in the current scope
[INFO] [stdout]    --> src/main.rs:225:14
[INFO] [stdout]     |
[INFO] [stdout] 225 |             .map_err(|err| err.to_string())?;
[INFO] [stdout]     |              ^^^^^^^ method not found in `Engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `start` found for struct `Engine` in the current scope
[INFO] [stdout]    --> src/main.rs:226:10
[INFO] [stdout]     |
[INFO] [stdout] 226 |     game.start()?;
[INFO] [stdout]     |          ^^^^^ method not found in `Engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 37 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0107, E0433, E0599, E0616, E0624.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `fps-pixel`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to 37 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0107, E0433, E0599, E0616, E0624.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: build failed
[INFO] running `Command { std: "docker" "inspect" "723fbf51b0c004394ae74e6a1c439e2dc2c111e8cef20ab78d8b2efe6bb51355", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "723fbf51b0c004394ae74e6a1c439e2dc2c111e8cef20ab78d8b2efe6bb51355", kill_on_drop: false }`
[INFO] [stdout] 723fbf51b0c004394ae74e6a1c439e2dc2c111e8cef20ab78d8b2efe6bb51355
